/* 
  导入带加载状态的请求
  导入生成的随机数
*/
import { load, random } from '@/utils'

const module = {
  /* 命名空间 */
  namespaced: true,
  state: {
    /* 影院列表 */
    cinemaList: [],
    /* 前台和App的状态切换 */
    ticketFlag: 1
  },
  mutations: {
    /* 设置影院列表 */
    setCinemaList (state, cinemaList) {
      state.cinemaList = cinemaList
    },
    /* 设置状态 */
    setTicketFlag (state, ticketFlag) {
      state.ticketFlag = ticketFlag
    }
  },
  actions: {
    // getCinemaList(store, obj) { // 以下用到了 解构赋值
    /* 根据影院信息获取影院列表 */
    getCinemaList(store, { cityId, ticketFlag = 1 }) {
      /* 提交设置订票信息的状态 */
      store.commit('setTicketFlag', ticketFlag)
      /* 设置url(------城市ID订票状态以及随机数------) */
      /* 设置请求头为影院 */
      return load({
        url: `/gateway?cityId=${cityId}&ticketFlag=${ticketFlag}&k=${random()}`,
        headers: { 'X-Host': 'mall.film-ticket.cinema.list' }
      }).then(res => {
        /* 如果成功则提交状态修改影院列表 */
        store.commit('setCinemaList', res.data.data.cinemas)
      }).catch((err) => {
        console.warn(err)
        /* 失败设置影院列表为空 */
        store.commit('setCinemaList', [])
      })
    }
  }
}

export default module
